ContrastEffect        Return

C++Builder 12.1で画像の明るさ、コントラストを簡単変更できる、「TContrastEffectがEffect」にあったので試して見ました。
11.3からTImageがEffectに入り、10.4のTimageとは違うようで、TimageControl,TImageViwerが10.4のTImageに似たControlになったようでなので TimageControlを使ってみました。

TImageControlにContrastEffectをドロップし、ContrastEffectのプロパテ−の「Brightness」、 「Contrast」の値をScrollBarを使い、変化させ、明るさ、コントラスを調節してみました。
TImageControl->Bitmapはそのままで、モニタ−上で変化するだけのようで、印刷に応用しようと思ったのですが上手くできませんでした。
「ImageViewer1->MakeScreenshot()」などを使用すれば、解像度を無視すれば印刷に応用できます。

Brightnessは-1から1まで、Contrastは0から2.0まで変化できるようです。

左図は各コントロ−ルの配置です

//--------------------------------------------------------------------------- #include <fmx.h> #pragma hdrstop #include "Unit2.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.fmx" TForm2 *Form2; //--------------------------------------------------------------------------- __fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm2::Button1Click(TObject *Sender) { if (OpenDialog1->Execute()) { ImageControl1->LoadFromFile(OpenDialog1->FileName); } } void __fastcall TForm2::ScrollBar1Change(TObject *Sender) { ContrastEffect1->Brightness=ScrollBar1->Value; Label3->Text=ScrollBar1->Value; } //--------------------------------------------------------------------------- void __fastcall TForm2::ScrollBar2Change(TObject *Sender) { ContrastEffect1->Contrast=ScrollBar2->Value; Label4->Text=ScrollBar2->Value; } //--------------------------------------------------------------------------- 左図はソースです。